#ifndef FINGER_H
#define FINGER_H

#include <Box2D/Box2D.h>

#include <cstdlib>
#include <iostream>
#include <fstream>
#include <iostream>
#include <time.h>
#include <string.h>
#include "../Framework/Render.h"

class Finger
{
public:
	Finger(b2World* world, b2Vec2 fingerPosition, float32 fingerSize, float32 fingerDensity, float32 fingerFriction);
	~Finger();
	b2Vec2 GetFingerPosition();
	b2Vec2 GetPullPointPosition();
	b2Vec2 GetFingerVelocity();
	void SetPullPointPosition(const b2Vec2& val);
	b2Fixture* GetFingerFixture();
	b2Body* GetFingerBody();
	float32 GetFingerFriction();
	void SetFingerFriction(const float32& val);
	float32 GetFingerDensity();
	void SetFingerDensity(const float32& val);
	float32 GetFingerSize();
	void SetFingerSize(const float32& val);
	void DrawForce(b2Vec2 reactionForce, DebugDraw& debugDraw);
	b2Vec2 GetFingerReactionForce();
	void SetFingerReactionForce(const b2Vec2& val);
private:
	b2Vec2 m_fingerPosition;
	b2Vec2 m_pullPointPosition;
	b2Vec2 m_fingerReactionForce;
	b2Fixture* m_fingerFixture;
	b2Body* m_fingerBody;
	float32 m_fingerFriction;
	float32 m_fingerDensity;
	float32 m_fingerSize;
	b2World* m_world;
};
#endif